1..serialize() -> 对queryset对象(即: 查询到的数据列表)进行序列化

  • .serialize() 的作用: 将queryset对象转化成列表

  • 注意: 会返回一些没用的额外数据,且该方法只能接收queryset对象

  • serializers.serialize() 所接收的参数:
    • 参数一: 需要序列化成什么数据类型
    • 参数二: queryset 对象

from django.shortcuts import render, redirect, HttpResponse, reverse
from .models import *
# 导入Django内置的序列化模块
from django.core import serializers


def employee_list(request):
    employees = Employee.objects.all()
    ret = serializers.serialize('json', employees)  # [{"model": "app01.employee", "pk": 1, "fields": {"name": "\u4f5c\u80051", "age": 22, "salary": 1619, "province": "\u4e1c\u839e"'+'}'+'}'}}, ]
    return HttpResponse(ret)

2.model_to_dict 方法 -> 对查询到的数据对象进行序列化

  • model_to_dict 的作用: 将查询到的数据对象转换成列表

  • model_to_dict 方法所接收的参数: 查询到的数据对象

from django.forms.models import model_to_dict


def view_fn(request):
    book_obj = Book.objects.all().first()
    book_dict = model_to_dict(book_obj)  # {'author': [], 'id': 14, 'price': 100, 'title': '三国演义', 'publish': 1}
    return render(request, 'index.html')